package no.kolstad.movies.dao.hibernate;
/**
 *  Copyright [2008] Christopher Kolstad
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
 * Unless required by applicable law or agreed to in writing, software distributed under the License 
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and limitations under the License. 
 */
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import no.kolstad.movies.dao.RoleDAO;
import no.kolstad.movies.model.Role;

public class RoleDAOHibernate extends BaseDAOHibernate<Role> implements RoleDAO {
  
  public Set<Role> loadAllSet() {
    return new HashSet<Role>(loadAll());
  }
  
  // Returns role from rolename
  public Role getRole(String rolename) {
    List<Role> roles = findByNamedQueryAndNamedParam("role.byName", "rolename",
        rolename);
    if (!roles.isEmpty()) {
      return roles.get(0);
    }
    if (log.isErrorEnabled()) {
      log.error("Couldn't find role with rolename: " + rolename);
    }
    return null;
  }

  @Override
  protected Class<Role> getModelClass() {
    return Role.class;
  }

}
